package leetcode.simple.q169;

import java.util.HashMap;

/**
 * 169. 多数元素
 */
public class Main {
    public static void main(String[] args) {
        int[] nums = {3, 2, 3};
        int[] nums2 = {2,2,1,1,1,2,2};

        int i = majorityElement(nums2);
        System.out.println(i);

    }

    /**
     * 我的题解
     * @param nums
     * @return
     */
    public static int majorityElement(int[] nums) {

        HashMap<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            Integer mapOrDefault = map.getOrDefault(nums[i], 0);
            if (mapOrDefault == 0){
                map.put(nums[i], 1);
            }else {
                map.put(nums[i], ++mapOrDefault);
            }
        }

        for (Integer k : map.keySet()) {
            Integer count = map.get(k);
            if (count > (nums.length / 2)){
                return k;
            }
        }

        return 0;
    }
}
